import { IPSWFProcess } from './ipswfprocess';
import { IPSWFProcessSubWF } from './ipswfprocess-sub-wf';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSWFEmbedWFProcessBase
 */
export interface IPSWFEmbedWFProcessBase extends IPSWFProcess {
  /**
   * 多实例模式
   * @description 值模式 [流程处理多实例模式] {NONE：无、 PARALLEL：并行多实例、 SEQUENTIAL：串行多实例 }
   * @type {( string | 'NONE' | 'PARALLEL' | 'SEQUENTIAL')}
   * @default NONE
   */
  multiInstMode: string | 'NONE' | 'PARALLEL' | 'SEQUENTIAL';

  /**
   * 嵌套流程集合
   *
   * @type {IPSWFProcessSubWF[]}
   */
  getPSWFProcessSubWFs(): IPSWFProcessSubWF[] | null;

  /**
   * 嵌套流程集合
   *
   * @type {IPSWFProcessSubWF[]}
   */
  get psWFProcessSubWFs(): IPSWFProcessSubWF[] | null;

  findPSWFProcessSubWF(objKey: any): IPSWFProcessSubWF | null;
}
